const http = require('http');
const path = require('path');
const fs = require('fs');

let server = http.createServer((req, res) => {
    // 1.0 解构url
    let { url } = req;

    // 2.0 定义对象，属性名是扩展名，属性值是扩展名对于的Content-Type
    // 这里要编写静态资源的所有mime,  .html,.css,.js,image, .mp4,.mp3
    let extObj = {
        '.html': 'text/html;charset=utf8',
        '.css': 'text/css;charset=utf8',
        '.jpg': 'image/jpg',
        '.ico': 'image/jpg',
        '.js': 'application/javascript'
    }

    // 3.0 把url这个路径中的扩展名获取到后去第二步的对象中获取congent-type
    let extName = path.extname(url); // 使用path模块中的extname获取路径中的扩展名
    let extType = extObj[extName];  // 根据扩展名获取extObj中的指定数据    

    // 4.0 根据url拼接文件读取路径读取文件内容之后返回
    let filePath = './public' + url;
    let result = fs.readFileSync(filePath);
    // 设置响应报文头
    res.setHeader('Content-Type', extType);

    // 响应
    res.end(result);

})

server.listen(8005, () => {
    console.log('8005启动了');
})